/**
 * @file Hash.hpp
 *
 *  @date 2009-06-03
 *  @author hauleth
 */

#ifndef HASH_HPP_
#define HASH_HPP_

#include <string>

namespace bust {

class Hash {
	public:
		Hash() {
		}
		virtual ~Hash() {
		}
		//
		//TODO: These methods should have const std::string&, not std::string as argument type!
		//			It must be corrected in derived classes, too
		//
		virtual std::string getHashFromString( std::string ) = 0;
		virtual std::string getHashFromFile( std::string ) = 0;
		virtual const char* engineName() = 0;
};

}

#endif /* HASH_HPP_ */
